//自定义工具
const install = (Vue, vm) => {
	
	const isLogin = () => {
		const token = vm.vuex_token
		if(!token){
			//找来源页
			const CurrentPages = getCurrentPages().pop()
			//获取页面路径 和 请求参数
			const {route, options} = CurrentPages
			//参数 key 的处理
			const optionsKeys = Object.keys(options)
			let params = ''
			if (optionsKeys.length !== 0) {
				params = optionsKeys.reduce((pre,current) => {
					return `${pre}${current}=${options[current]}&`
				},'?').slice(0,-1)
			}
			//缓存当前页路径
			uni.setStorageSync('back_url', route + params)
			vm.$u.toast('请登陆')
			setTimeout(()=>{
				vm.$u.route({
					type:'redirect',   //navigateTo或to对应uni.navigateTo，redirect或redirectTo对应uni.redirectTo，switchTab或tab对应uni.switchTab，reLaunch对应uni.reLaunch，navigateBack或back对应uni.navigateBack
					url:'pages/auth/login'
				})
			},1500)
			return false
		}
		return true
	}
	
	//更新用户信息
	const updateUser = async () => {
		//请求用户信息
		const userinfo = await vm.$u.api.userinfo()		
		//缓存 用户信息
		vm.$u.vuex('vuex_user',userinfo)
	}
	//方法暴露出去
	vm.$u.utils = {
		isLogin,
		updateUser
	}
	
}

export default {
	install
}